SELECT是SQL的DQL語句中的命令,功能分別有
- 檢索資料
- 表格合併
- 函數等,基本格式如下:
而使用SELECT語句檢索資料的方法有三種:
- 投射(Projection)
- 選擇(Selection)
- 合併(Join),合併又分成三種,分別是自然合併、自我合併和外部合併。
合併的基本觀念:
- 當兩個以上的資料表具有相同名稱欄位時,需要在SELECT子句的欄位前加上資料表名稱。
- 大部分合併查詢會包含一個重複合併條件,可放在FROM或WHERE子句。
- 合併時,會依條件將相同屬性的資料倆倆結合。
- 比較條件內的欄位不一定要出現在SELECT子句中。
- 包含比較條件的WHERE子句可同時包含用來縮小查詢範圍的其他限制條件,限制資料列的數量。
自然合併(NATURE JOIN)
- 欄位內容相同的資料會合併成一筆資料,所以兩表中相同的名稱,資料類型也要相同。
- 只能合併兩張表。
- 如輸入條件式,WHERE子句一定要在最後輸入。
JOIN…USING…子句合併資料表,使用時機:合併的兩個資料表有多個欄位名稱相同,資料類型卻不同時。
- 一個USING子句僅能比對一個欄位。
- 不能再輸入其他條件。
- USING子句和NATURAL JOIN子句不可同時出現。
- 如要合併多張表時,JOIN子句要分開輸入。
JOIN…ON…子句合併資料表,使用時機:指定合併比較欄位時。
- 可不含有同名或是同類別的欄位。
- 使用ON子句可將多個資料表依指定欄位及合併條件合併,不同的合併條件需個別獨立。
外部合併:OUTER JOIN
- 把未符合比較條件的資料欄合併到目標資料列。
- 左外部合併:將不符合的左側資料欄併入目標資料列。
- 右外部合併則反之。
- 全外部合併:將資料表1、2所有符合的資料結合,且保留未匹配的左右兩側欄位,並在不符合的那一側填入空值。
下一篇則會實際運用使用SELECT語句檢索資料並列出結果!